home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / wgdb-42.lha / wgdb-4.2 / include / wait.h < prev   
Text File  |  1992-09-11  |  1KB  |  28 lines

  1. /* Define how to access the int that the wait system call stores.
  2.    This has been compatible in all Unix systems since time immemorial,
  3.    but various well-meaning people have defined various different
  4.    words for the same old bits in the same old int (sometimes claimed
  5.    to be a struct).  We just know it's an int and we use these macros
  6.    to access the bits.  */
  7.  
  8. /* The following macros are defined equivalently to their definitions
  9.    in POSIX.1.  We fail to define WNOHANG and WUNTRACED, which POSIX.1
  10.    <sys/wait.h> defines, since our code does not use waitpid().  We
  11.    also fail to declare wait() and waitpid().  */   
  12.  
  13. #define WIFEXITED(w)    (((w)&0377) == 0)
  14. #define WIFSIGNALED(w)    (((w)&0377) != 0177 && ((w)&~0377) == 0)
  15. #define WIFSTOPPED(w)    (((w)&0377) == 0177)
  16.  
  17. #define WEXITSTATUS(w)    ((w) >> 8)    /* same as WRETCODE */
  18. #define WTERMSIG(w)    ((w) & 0177)
  19. #define WSTOPSIG(w)    ((w) >> 8)
  20.  
  21. /* These are not defined in POSIX, but are used by our programs.  */
  22.  
  23. #define WAITTYPE    int
  24.  
  25. #define WCOREDUMP(w)    (((w)&0200) != 0)
  26. #define WSETEXIT(w,status) ((w) = (0 | ((status) << 8)))
  27. #define WSETSTOP(w,sig)       ((w) = (0177 | ((sig) << 8)))
  28.